#include "widget.h"
#include "ui_widget.h"
#include <QLabel>
#include <QDebug>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //先每个标签页中添加label以用作表示、
    QLabel* label1 = new QLabel(ui->tab);
    label1->setText("标签页1");
    label1->resize(100,50);

    QLabel* label2 = new QLabel(ui->tab_2);
    label2->setText("标签页2");
    label2->resize(100,50);
}

Widget::~Widget()
{
    delete ui;
}


void Widget::on_pushButton_clicked()
{
    //用addTab方法(函数)来创建新的标签页
    //参数1 -> 指定一个QWidget
    //参数2 -> 指定该标签页的标题(text),此处标题就叫做Tab + 数字
    int count = ui->tabWidget->count();//获取标签页的数量
    QWidget* w = new QWidget();
    ui->tabWidget->addTab(w,QString("Tab ") + QString::number(count + 1));

    //再添加一个QLabel用来显示内容
    QLabel* label = new QLabel(w);
    label->setText(QString("标签页") + QString::number(count + 1));
    label->resize(100,50);

    //设置新标签页为当前标签页
    ui->tabWidget->setCurrentIndex(count);
}

void Widget::on_pushButton_2_clicked()
{
    //先获取到当前选中标签页的下标
    int index = ui->tabWidget->currentIndex();
    //删除标签页
    ui->tabWidget->removeTab(index);

}

void Widget::on_tabWidget_tabCloseRequested(int index)
{
    //index信号会传送被点击关闭按钮的选项卡的下标
    //删除标签页
    ui->tabWidget->removeTab(index);

}

void Widget::on_tabWidget_currentChanged(int index)
{
    //当标签页切换时,打印切换后的标签页的下标
    qDebug() << "当前选中的标签页是:" << index;
}
